<?php
/**
 * Created by PhpStorm.
 * User: LiuJiaJun
 * Date: 2018/12/5
 * Time: 14:52
 */

namespace api\storage\common;

class Constant
{

    /**
     * 存放出库单文件的根目录
     */
    const RECORD_OUTPUT = 'data/data/output/';
    /**
     * 存放出库单数量
     */
    const RECORD_OUTPUT_COUNT = 'data/data/outputCount/';
    /**
     * 存放退料数据的文件目录
     */
    const RECORD_RETURN_REELS = 'data/data/returnReel/';
    /**
     * 存放盘点数据的文件目录
     */
    const RECORD_INVENTORY = 'data/data/inventory/';
    /**
     * 存放小车位置的根目录
     */
    const RECORD_CAR_POSITION = 'data/data/carPosition/';
    /**
     * 预存放小车位置的根目录
     */
    const RECORD_CAR_PREPARE_POSITION = 'data/data/carPreparePosition/';
    /**
     * 保留贴片出库文件的目录
     */
    const RECORD_FEED_PREPARE_POSITION = 'data/data/feedPreparePosition/';
    /**
     * 存放模拟时用来作为乐观锁的数据的文件的目录
     */
    const RECORD_FEED_CHECK = 'data/data/feedCheck/';
    /**
     * 存放续料出库文件的地址
     */
    const RECORD_FEED_ADD_MATERIEL_POSITION = 'data/data/feedAddMateriel/';
    /**
     * 保存备份的出库文件
     */
    const RECORD_BACKUP_OUTPUT = 'data/data/backup/output/';
    /**
     * 记录文件的后缀
     */
    const RECORD_FILE_SUFFIX = '.json';

    /**
     * 定义了日志的存储位置
     */
    const LOG_APK_PATH = 'upload/apkLog/';
    const LOG_JAR_PATH = 'upload/jarLog/';

    /**
     * 定义了上传文件的位置
     */
    const DOWNLOAD_APK_PATH = 'upload/apk/';
    const DOWNLOAD_JAR_PATH = 'upload/jar/';

    /**
     * 控制灯板指令，0 灭灯 | 1 亮绿灯 | 2 亮红灯 | 3 亮黄灯
     */
    const TURN_OFF_LIGHT = 0;
    const TURN_ON_GREEN = 1;
    const TURN_ON_RED = 2;
    const TURN_ON_YELLOW = 3;

    /**
     * 缓存用户前缀信息
     */
    const CACHE_PREFIX_USER = 'userId=';
    const CACHE_PREFIX_STORAGE = 'storageUuid=';
    const CACHE_PREFIX_CAR = 'carId=';
    const CACHE_PREFIX_CLIENT = 'client=';
    const CACHE_PREFIX_MATERIEL = 'materielId=';
    /**
     * 货架类型 A 七寸盘  |  B 14寸盘 |  C 容器
     */
    const SHELF_TYPE_OF_SMALL = 'A';
    const SHELF_TYPE_OF_BIG = 'B';
    const SHELF_TYPE_OF_CONTAINER = 'C';

    /**1    ·
     * 返回的code信息
     * 201  入库选择货架类型
     * 202  入库的物料是在货架上的物料
     */
    const RETURN_CODE_MATERIEL_TYPE = 201;
    const RETURN_CODE_INPUT_ON_SHELF = 202;

    /**
     * 211 盘点确认时，确认最后一盘信息返回code
     */
//    const RETURN_CODE_INVENTORY_CONFIRM_FINISH = 211;

    /**
     * 221 出库完成标志 code
     * 222 扫描的料是错料
     * 223 出库需要归还余料
     * 224 获取出库数据的时候，不需要发实物，直接完成
     */
    const RETURN_CODE_OUTPUT_COMPLETE = 221;
    const RETURN_CODE_OUTPUT_WRONG_MATERIEL = 222;
    const RETURN_CODE_OUTPUT_LEFT_MATERIEL = 223;
    const RETURN_CODE_OUTPUT_NOT_NEED_REELS = 224;

    /**
     * 231 扫描bom单进去装车
     */
    const RETURN_CODE_CAR_ENTRY = 231;
    /***
     * 241 检查feedId成功，正式进入流程
     *242 该工单正在出库，进入多人流程
     * 243 该工单不齐套
     * 244 所需物料不在库中
     */
    const FEED_CODE_CHECK_BEGIN = 241;
    const FEED_CODE_CHECK_CONTINUE = 242;
    const FEED_CEDE_SIMULATION_NOT_ENOUGH = 243;
    const FEED_CODE_MATERIEL_NOT_EXIST = 244;
    const FEED_CODE_REEL_NOT_ENOUGH = 245;
    /****
     * smt出库流程
     *  1: 正在进行移料出库
     *  2: 正在从货架上出库
     *  3: 机器剪料出库
     *
     * 出库已结束 254
     *
     */
    const FEED_OUTPUT_PROCESS_MOVE_MATERIEL = "1";
    const FEED_OUTPUT_PROCESS_SHELVE = "2";
    const FEED_OUTPUT_PROCESS_MACHINE = "3";

    const FEED_OUTPUT__MOVE_MATERIEL_ERROR = 251;
    const FEED_OUTPUT_SHELVE_ERROR = 252;
    const FEED_OUTPUT_MACHINE_ERROR = 253;

    const FEED_OUT_PUT_IS_OVER = 254;
    /****
     * smt续料流程
     * 物料已发满，是否续料 261
     *
     */
    const ADD_MATERIEL_CODE_IS_FULL = 261;
    const ADD_MATERIEL_IS_CONTINUE = 262;
    /***
     * smt退料流程
     * 机器退料失败,物料处于锁定状态
     */
    const RETURN_MATERIEL_IS_LOCKED = 271;
}